MVC 最後一個,M 代表 Model,它是模型的縮寫,指的是應用程式的數據和業務邏輯處理。模型通常獨立於使用者界面或視圖,這意味著它可以被多個 View 和 Controller 共享。
首先我們建立一個 Restaurant 類:
public class Restaurant {
private String chef;
private String food;
public Restaurant(String chef, String food) {
this.chef = chef;
this.food = food;
}
public String getChef() {
return chef;
}
public String getFood() {
return food;
}
}
接下來,回到我們的 Controller 中處理請求:
package com.example.spring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HelloController {
@RequestMapping("/hello")
public ModelAndView helloWorld() {
ModelAndView modelAndView = new ModelAndView("helloView");
// 建立一個 Restaurant 物件
Restaurant restaurant = new Restaurant("John", "Meat")
// 將 Restaurant 加到模型中
modelAndView.addAttribute("restaurant", restaurant);
// 回傳 ModelAndView 物件
return modelAndView;
}
}
最後,從我們建立的 jsp 文件顯示:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Hello JSP Page</title>
</head>
<body>
<h1>餐廳</h1>
<p>主廚:${restaurant.chef}</p>
<p>食材:${restaurant.food}</p>
</body>
</html>
在 jsp 中,${restaurant.chef}
和 ${restaurant.food}
將從模型中得到餐廳類別的屬性參數,最後在畫面上呈現出來。
這就是一個完整的 MVC 範例,講解了了如何在 Controller 中使用模型來傳遞數據,並在前端頁面中顯示。
https://spring.io/guides/gs/serving-web-content/
https://www.baeldung.com/spring-mvc-tutorial